/*
	lseek： 创建一个具有空洞的文件

	od: 观察文件的实际内容; -c表示以字符方式打印文件内容
	OD，软件名称，反汇编工具OD=OllyDebug
*/

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include "error.h"

#define FILE_MODE S_IRWXU

char buf1[] = "abcdefghij";
char buf2[] = "ABCDEFGHIJ";

int main(int argc, char * argv[]) {
	int fd;

	if( (fd = creat("file.hole", FILE_MODE)) < 0 )
		err_sys("creat error.");

	if( (write(fd, buf1, 10)) != 10)
		err_sys("write error.");
	/* offset now = 10 */

	if(lseek(fd, 40, SEEK_SET) == -1)
		err_sys("lseek error.");
	/* offset now = 40 */

	if(write(fd, buf2, 10) != 10)
		err_sys("buf2 write error.");
	/* offset now = 50 */

	return 0;
}
